package com.ruoyi.system.service;

import com.ruoyi.system.domain.HomeLocation;
import java.util.Map;

/**
 * 回家路径规划服务接口
 */
public interface IHomeService {

    /**
     * 保存或更新用户的家位置信息
     * @param homeLocation 家位置信息对象
     * @return 操作结果（影响行数）
     */
    int saveOrUpdateHomeLocation(HomeLocation homeLocation);

    /**
     * 根据用户ID查询家位置信息
     * @param userId 用户ID
     * @return 家位置信息对象
     */
    HomeLocation getHomeLocationByUserId(Long userId);

    /**
     * 规划从当前位置到家的路径
     * @param startLat 起点纬度
     * @param startLng 起点经度
     * @param endLat 终点纬度（家）
     * @param endLng 终点经度（家）
     * @return 路径规划结果（包含路线信息、距离、时间等）
     */
    Map<String, Object> calculateRoute(String startLat, String startLng, String endLat, String endLng);

    /**
     * 调用高德地图逆地理编码API
     * 根据经纬度获取详细地址
     * @param lat 纬度
     * @param lng 经度
     * @return 逆地理结果（包含详细地址信息）
     */
    Map<String, Object> regeo(String lat, String lng);
}
